package cn.crm.spring.service;


import cn.crm.spring.pojo.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface IUserService {
    public User login(String usrName, String usrPassword);

    public void saveUser(User user);//适用新增和修改

    public void deleteUser(Integer usrId);

    public User getUser(Integer usrId);

    // 根据用户名查询用户
    public User getUserByUsrName(String usrName);

    /**
     * 按条件进行分页查询（动态SQL）
     *
     * @param usrName  用户名称
     * @param roleId   角色编号
     * @param pageable 分页类
     * @return 分页集合
     */
    public Page<User> findUsers(String usrName, Integer roleId, Pageable pageable);

    /**
     * 加密方法
     * @param plaintextPassword
     * @return
     * @throws IllegalArgumentException
     */
    public String encryptPassword(Object plaintextPassword) throws IllegalArgumentException;

    public List<User> findAll();

}
